package root.historic.componenteLog;

import java.util.GregorianCalendar;

import root.historic.componenteLog.InteressePeloItem;

public class InteressePeloItem implements ComponenteLog{
	
	private String nomeAmigo1;
	private String nomeItem;
	private String nomeAmigo2;
	private GregorianCalendar dataCriacao;
	
	public InteressePeloItem(String amigo1, String nomeItem, String amigo2){
		this.nomeAmigo1 = amigo1;
		this.nomeItem = nomeItem;
		this.nomeAmigo2 = amigo2;
		dataCriacao = new GregorianCalendar();
	}
	
	@Override
	public String toString(){
		return String.format("%s tem interesse pelo item %s de %s", nomeAmigo1,nomeItem,nomeAmigo2);
	}
	
	@Override
	public boolean equals(Object o){
		if(!(o instanceof InteressePeloItem)) return false;
		InteressePeloItem interessePeloItem = (InteressePeloItem) o;
		return nomeAmigo1.equals(interessePeloItem.nomeAmigo1) && nomeAmigo2.equals(interessePeloItem.nomeAmigo2) && nomeItem.equals(interessePeloItem.nomeItem);
	}

	@Override
	public GregorianCalendar getDataCriacao() {
		return dataCriacao;
	}

	@Override
	public int compareTo(ComponenteLog arg0) {
		if(equals(arg0)) return 0;
		if(arg0.getDataCriacao().compareTo(dataCriacao) == 0) return 1;
		return arg0.getDataCriacao().compareTo(dataCriacao);
	}
	@Override
	public int hashCode() {
		// TODO Auto-generated method stub
		return nomeAmigo1.concat(nomeAmigo2).concat(nomeItem).hashCode();
	}
}
